home *** CD-ROM | disk | FTP | other *** search
/ Free Software Collection: Marty 1 / FM Towns Marty 1 Free Software Collection.iso / tool / m_term / m_term.sct < prev    next >
Text File  |  1993-11-11  |  10KB  |  527 lines

  1. #
  2. #    MTERM main script
  3. #
  4.  
  5. USER_DEF = A:\USER.DEF
  6.  
  7. if test -f A:\M_TERM.LOG
  8. then
  9.     set def_edit_file A:\M_MENU.LOG
  10. fi
  11.  
  12. echo "\nConsl Simulation ver1.00\n\n"
  13.  
  14. #
  15. #    main key function define
  16. #
  17. mainkey    PF1    main_mode_select
  18. mainkey    PF9    main_edit_mode
  19. mainkey    PF10    main_term_mode
  20. mainkey    PF11    main_cons_mode
  21. mainkey    PF12    main_end_of
  22. mainkey    PF13    main_pal
  23. mainkey    SELECT    pfkey_select
  24.  
  25. function main_pal {
  26.     palette setup
  27. }
  28.  
  29. function main_mode_select {
  30.     menu 0    "1 通信を行う" \
  31.         "2 編集を行う" \
  32.         "3 画面を選ぶ" \
  33.         "4 終了する  "
  34.  
  35.     switch $?
  36.     case 0
  37.     main term
  38.     exit 2
  39.     break
  40.     case 1
  41.     main edit
  42.     exit 2
  43.     break
  44.     case 2
  45.     main screen_select
  46.     exit 2
  47.     break
  48.     case 3
  49.     if yesno "終了していいですか?"
  50.     then
  51.         edit all_save_file
  52.         exit 1
  53.     fi
  54.     done
  55.     exit 3
  56. }
  57.  
  58. function main_end_of    {
  59.     if yesno "終了していいですか?"
  60.     then
  61.     edit all_save_file
  62.     exit 1
  63.     else
  64.     exit 3
  65.     fi
  66. }
  67.  
  68. function main_edit_mode { main edit; }
  69. function main_term_mode { main term; }
  70. function main_cons_mode { main cons; }
  71.  
  72. #
  73. #    edit key function define
  74. #
  75. edit    menu_set "動作選択" "編集MENU1" "編集MENU2" ""
  76.  
  77. editkey    ^@    nodef
  78. editkey    ^A    word_left
  79. editkey    ^B    search_back
  80. editkey    ^C    page_down
  81. editkey    ^D    cursol_right
  82. editkey    ^E    cursol_up
  83. editkey    ^F    word_right
  84. editkey    ^G    delete_char
  85. editkey    ^H    delete_left
  86. editkey    ^I    tab_putc
  87. editkey    ^J    nodef
  88. editkey    ^K    file_select
  89. editkey    ^L    search_word
  90. editkey    ^M    insert_line
  91. editkey    ^N    search_next
  92. editkey    ^O    nodef
  93. editkey    ^P    nodef
  94. editkey    ^Q    key_shift
  95. editkey    ^R    page_up
  96. editkey    ^S    cursol_left
  97. editkey    ^T    nodef
  98. editkey    ^U    nodef
  99. editkey    ^V    nodef
  100. editkey    ^W    screen_down
  101. editkey    ^X    cursol_down
  102. editkey    ^Y    delete_line
  103. editkey    ^Z    screen_up
  104. editkey    ^[    joy_abort_buff
  105. editkey    ^\\    cursol_right
  106. editkey    ^]    cursol_left
  107. editkey    ^^    cursol_up
  108. editkey    ^_    cursol_down
  109.  
  110. editkey    +A    line_top
  111. editkey    +C    file_btm
  112. editkey    +F    line_btm
  113. editkey    +R    file_top
  114.  
  115. editkey    PF4    nodef
  116. editkey    PF5    select_buff
  117. editkey    PF6    cut_buff
  118. editkey    PF7    get_buff
  119. editkey    PF8    paste_buff
  120. editkey    PF9    nodef
  121. editkey    PF10    nodef
  122. editkey    PF11    nodef
  123. editkey    PF12    nodef
  124. editkey    PF13    nodef
  125. editkey    PF14    nodef
  126. editkey    PF15    nodef
  127. editkey    PF16    nodef
  128. editkey    PF17    nodef
  129. editkey    PF18    nodef
  130. editkey    PF19    nodef
  131. editkey    PF20    nodef
  132.  
  133. editkey    前行    page_up
  134. editkey    次行    page_down
  135. editkey    挿入    insert_mode
  136. editkey    削除    delete_char
  137. editkey    HOME    file_select
  138. editkey    BREAK    nodef
  139. editkey    COPY    nodef
  140.  
  141. editkey    SELECT    nodef
  142. editkey    START    nodef
  143. editkey    SWB    joy_abort_buff
  144. editkey    SWA    joy_get_buff
  145. editkey    RIGHT    cursol_right
  146. editkey    LEFT    cursol_left
  147. editkey    DOWN    cursol_down
  148. editkey    UP    cursol_up
  149.  
  150. editkey    MOS_A_ON    mos_start
  151. editkey    MOS_A_MOVE    mos_goto_xy
  152. editkey    MOS_A_DOUBLE    mos_double
  153. editkey    MOS_A_OFF    mos_end
  154.  
  155. editkey    MOS_B_ON    mos_start
  156. editkey    MOS_B_MOVE    mos_goto_xy
  157. editkey    MOS_B_DOUBLE    mos_double
  158. editkey    MOS_B_OFF    mos_end
  159.  
  160. editkey    PF2    edit_pf2_menu
  161. function edit_pf2_menu {
  162.     menu 1    "1 文書 ファイル を編集する" \
  163.         "2 通 信のLOGを編集する" \
  164.         "3 文 書 をアップロ-ドする" \
  165.         "4 文書をファイルへ保存する" \
  166.         "5 別の文 書 を編集する" \
  167.         "6 編集中の文 書 を消去" \
  168.         "7 編集する文 書 を選択"
  169.  
  170.     switch $?
  171.     case 0
  172.     edit read_file
  173.     break
  174.     case 1
  175.     term log_to_edit
  176.     break
  177.     case 2
  178.     edit send_edit_buff
  179.     break
  180.     case 3
  181.     edit save_file
  182.     break
  183.     case 4
  184.     edit new_file
  185.     break
  186.     case 5
  187.     edit quit_file
  188.     break
  189.     case 6
  190.     edit file_select
  191.     break
  192.     done
  193. }
  194.  
  195. editkey    PF3    edit_pf3_menu
  196. function edit_pf3_menu {
  197.     menu 2    "1 文字列を検索する      " \
  198.         "2 文字列の置き換えを行う" \
  199.         ""                         \
  200.         "3 指定行へ移動する      " \
  201.         "4 文書の先頭に移動する  " \
  202.         "5 文書の最後に移動する  "
  203.  
  204.     switch $?
  205.     case 0
  206.     edit search_cmds
  207.     break
  208.     case 1
  209.     edit replace_cmds
  210.     break
  211.     case 3
  212.     edit goto_cmds
  213.     break
  214.     case 4
  215.     edit file_top
  216.     break
  217.     case 5
  218.     edit file_btm
  219.     break
  220.     done
  221. }
  222.  
  223. #
  224. #    term key function define
  225. #
  226. term    menu_set "動作選択" "通信MENU1" "通信MENU2" ""
  227.  
  228. termkey    PF4        NULL
  229. termkey    PF5        his_select_buff
  230. termkey    PF6        his_get_buff
  231. termkey    PF7        setup_term
  232.  
  233. termkey    前行        his_up    
  234. termkey    次行        his_down    
  235.  
  236. termkey    RIGHT        his_right    
  237. termkey    LEFT        his_left    
  238. termkey    UP        his_up    
  239. termkey    DOWN        his_down    
  240. termkey    SWA        his_joy_get_buff
  241. termkey    SWB        his_joy_abort_buff
  242.  
  243. termkey    MOS_A_ON    mos_start    
  244. termkey    MOS_A_MOVE    mos_move    
  245. termkey    MOS_A_DOUBLE    mos_double    
  246. termkey    MOS_A_OFF    mos_end    
  247.  
  248. termkey    BREAK        term_break
  249. function term_break { sendbreak; }
  250.  
  251. termkey    PF8        term_hungup
  252. function term_hungup { hungup; }
  253.  
  254. termkey    PF2        term_pf2_menu
  255. function term_pf2_menu {
  256.     menu 1    "1 Nifty-Serveに接続する" \
  257.         "2 TextFileアップロ-ド " \
  258.         "3 TextFileダウンロ-ド " \
  259.         "4 Xmodem  アップロ-ド " \
  260.         "5 Xmodem  ダウンロ-ド " \
  261.         "6 Nifty-Serveの設定    " \
  262.         "7 通信モ-ドの設定     " \
  263.         "8 接続を切る           "
  264.  
  265.     switch $?
  266.     case 0
  267.     nifty_access
  268.     break
  269.     case 1
  270.     term send_text
  271.     break
  272.     case 2
  273.     term recive_text
  274.     break
  275.     case 3
  276.     term send_xmodem
  277.     break
  278.     case 4
  279.     term recive_xmodem
  280.     break
  281.     case 5
  282.     nifty_setup
  283.     break
  284.     case 6
  285.     term setup_term
  286.     break
  287.     case 7
  288.     hungup
  289.     break
  290.     done
  291. }
  292.  
  293. termkey    PF3        term_pf3_menu
  294. function term_pf3_menu {
  295.     menu 2    "1 ファイル名のみ送信 " \
  296.         "2 すべてのLOGをセ-ブ"
  297.  
  298.     switch $?
  299.     case 0
  300.     transmit `fileselect`
  301.     break
  302.     case 1
  303.     term log_to_file
  304.     break
  305.     done
  306. }
  307.  
  308. #
  309. #    cons key function define
  310. #
  311. cons    menu_set "動作選択" "実行MENU1" "実行MENU2" ""
  312.  
  313. conskey    PF4        NULL
  314. conskey    PF5        his_select_buff
  315. conskey    PF6        his_get_buff
  316. conskey    PF7        setup_cons
  317.  
  318. conskey    前行        his_up    
  319. conskey    次行        his_down    
  320.  
  321. conskey    RIGHT        his_right    
  322. conskey    LEFT        his_left    
  323. conskey    UP        his_up    
  324. conskey    DOWN        his_down    
  325. conskey    SWA        his_joy_get_buff
  326. conskey    SWB        his_joy_abort_buff
  327.  
  328. conskey    MOS_A_ON    mos_start    
  329. conskey    MOS_A_MOVE    mos_move    
  330. conskey    MOS_A_DOUBLE    mos_double    
  331. conskey    MOS_A_OFF    mos_end    
  332.  
  333. conskey    PF2        cons_pf2_menu
  334. function cons_pf2_menu {
  335.     menu 1    "1 すべてのLOGをセ-ブ"
  336.  
  337.     switch $?
  338.     case 0
  339.     cons log_to_file
  340.     break
  341.     done
  342. }
  343.  
  344. #
  345. #    user defs script load
  346. #
  347.  
  348. nifty_modem_init = "AT\\N3\\V1\\Q3\\J0"
  349. nifty_modem_line = "T"
  350. nifty_road       = "1"
  351.  
  352. set baud    "2400"
  353. set bit        "8Bit"
  354. set parity    "無し"
  355. set stopbit    "1Bit"
  356. set flow    "RTS/CTS"
  357.  
  358. rsinit
  359.  
  360. set break    "200ms"
  361. set crwait    "500ms"
  362. set bplus    "する"
  363. set kanji    "sjis"
  364. set buffer    "32K"
  365. set line    "off"
  366.  
  367. if test -f $USER_DEF
  368. then
  369.     call $USER_DEF
  370. fi
  371.  
  372. #
  373. #    nifty auto login
  374. #
  375.  
  376. function send_modem_command {
  377.     for n in $*
  378.     do
  379.     if test -z $n
  380.     then
  381.         continue
  382.     fi
  383.         transmit "$n\r"
  384.         if ! rswait 10 "OK\r\n"    
  385.         then
  386.         message "モデムからの反応がありません"
  387.         exit 1
  388.     fi
  389.     done
  390.     exit 0
  391. }
  392.  
  393. function tel_call    {
  394.     if send_modem_command $1
  395.     then
  396.     transmit "ATD"
  397.     transmit $2
  398.     transmit $3
  399.     rsloop 1
  400.     transmit "\r"
  401.     if rswait 60 "CONNECT" "NO" "BUSY"
  402.     then
  403.         exit 0
  404.     fi
  405.     fi
  406.     exit 1
  407. }
  408.  
  409. function nifty_access {
  410.  
  411.     if test -z "$nifty_telephon" -o \
  412.         -z "$nifty_user_id"  -o \
  413.         -z "$nifty_password"
  414.     then
  415.     message "Niftyの登録がされていません"
  416.     exit 1
  417.     fi
  418.  
  419.     message "Niftyへ接続中です"
  420.  
  421.     rt = 0
  422.     while ! tel_call $nifty_modem_init $nifty_modem_line $nifty_telephon
  423.     do
  424.     rt = `expr $rt + 1`
  425.     if test $rt -eq 10
  426.     then
  427.         message "接続しませんでした"
  428.         exit 1
  429.     else
  430.         message "再度接続を試みます"
  431.     fi
  432.     sleep 10
  433.     done
  434.  
  435.     if test $nifty_road -eq 2
  436.     then
  437.     transmit "@P\r"
  438.     if ! rswait 10 "*"
  439.     then
  440.         message "ROAD${nifty_road}にアクセスできません"
  441.         exit 1
  442.     fi
  443.     fi
  444.  
  445.     if test $nifty_road -eq 3
  446.     then
  447.     if ! rswait 10 "*"
  448.     then
  449.         message "ROAD${nifty_road}にアクセスできません"
  450.         exit 1
  451.     fi
  452.     fi
  453.  
  454.     rt = 0
  455.     while true
  456.     do
  457.     if test nifty_road -eq 1
  458.     then
  459.         transmit ".00+"
  460.     else
  461.         transmit "C NIF\r"
  462.     fi
  463.  
  464.     if rswait 10 "COM"
  465.     then
  466.         break
  467.     fi
  468.  
  469.     n = `expr $rt + 1`
  470.     if test $rt -eq 10
  471.     then
  472.         message "Niftyに接続できません"
  473.         exit 1
  474.     fi
  475.     done
  476.  
  477.     if ! rswait 10 "->"
  478.     then
  479.     message "Niftyが反応していません"
  480.     exit 1
  481.     fi
  482.     transmit "SVC\r"
  483.  
  484.     if ! rswait 10 "->"
  485.     then
  486.     message "ユ-ザ-IDの入力指示が反応していません"
  487.     exit 1
  488.     fi
  489.     transmit "$nifty_user_id\r"
  490.  
  491.     if ! rswait 10 "->"
  492.     then
  493.     message "パスワ-ドの入力指示が反応していません"
  494.     exit 1
  495.     fi
  496.     transmit "$nifty_password\r"
  497.  
  498.     exit 0
  499. }
  500.  
  501. function nifty_setup {
  502.     read nifty_modem_init "モデムのイニシャライズ"  "$nifty_modem_init" &&
  503.     read nifty_modem_line "電話の種類 T(プッシュ)or P(パルス)" \
  504.                                         "$nifty_modem_line" &&
  505.     read nifty_telephon   "アクセスポイント"        "$nifty_telephon"   &&
  506.     read nifty_road       "FENICS-ROAD 1 or 2,3"    "$nifty_road"       &&
  507.     read nifty_user_id    "Nifty-Serveのユ-ザ-ID" "$nifty_user_id"    &&
  508.     read nifty_password   "Nifty-Serveのパスワ-ド" "$nifty_password"
  509.  
  510.     if test $? -ne "0"
  511.     then
  512.     exit 1
  513.     fi
  514.  
  515.     if ! yesno "定義ファイルをA:ドライブに作成しますか?"
  516.     then
  517.     exit 1
  518.     fi
  519.  
  520.     echo "nifty_modem_init  = \"$nifty_modem_init\""  >$USER_DEF &&
  521.     echo "nifty_modem_line  = \"$nifty_modem_line\"" >>$USER_DEF &&
  522.     echo "nifty_telephon    = \"$nifty_telephon\""   >>$USER_DEF &&
  523.     echo "nifty_road        = \"$nifty_road\""       >>$USER_DEF &&
  524.     echo "nifty_user_id     = \"$nifty_user_id\""    >>$USER_DEF &&
  525.     echo "nifty_password    = \"$nifty_password\""   >>$USER_DEF
  526. }
  527.